package com.cctc.rds.raft.core.log;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 日志条目。
 * - Raft 集群数据存储 & 传输载体。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Log {
    // 索引
    private long index;
    // 任期号
    private long term;
    // 命令：业务请求指令，序列化后的结果。
    private byte[] command;
    // 状态：0 - 未提交（默认）、1 - 已提交（应用到状态机，处理业务请求指令）。
    private int status = 0;
}
